package common

import (
	"github.com/eywa-protocol/bls-crypto/bls"
)

type UTXO struct {
	PublicKey bls.PublicKey `json:"public_key"`
	Tx_id []byte `json:"tx_id"`
	Balance int	`json:"balance"`
}

func NewUTXO(key bls.PublicKey, tx_id []byte, balance int) UTXO {
	return UTXO{
		key,
		tx_id,
		balance,
	}
}

func (utxo UTXO) Show()  {
	println("address = ", utxo.PublicKey.Marshal())
	println("txid = ", utxo.Tx_id)
	println("balance =", utxo.Balance)
}

// json: not need
/*
func (utxo UTXO) MarshalJSON() ([]byte, error) {
	println("marshal json")

	return []byte(""),nil
}

func (utxo *UTXO) UnmarshalJSON(data []byte) error {
	println("unmarshal json")

	return nil
}
*/